home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / sspsv.z / sspsv
Encoding:
Text File  |  2002-10-03  |  5.8 KB  |  199 lines

  1.  
  2.  
  3.  
  4. SSSSSSSSPPPPSSSSVVVV((((3333SSSS))))                                                            SSSSSSSSPPPPSSSSVVVV((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SSPSV - compute the solution to a real system of linear equations A * X =
  10.      B,
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE SSPSV( UPLO, N, NRHS, AP, IPIV, B, LDB, INFO )
  14.  
  15.          CHARACTER     UPLO
  16.  
  17.          INTEGER       INFO, LDB, N, NRHS
  18.  
  19.          INTEGER       IPIV( * )
  20.  
  21.          REAL          AP( * ), B( LDB, * )
  22.  
  23. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  24.      These routines are part of the SCSL Scientific Library and can be loaded
  25.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  26.      directs the linker to use the multi-processor version of the library.
  27.  
  28.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  29.      4 bytes (32 bits). Another version of SCSL is available in which integers
  30.      are 8 bytes (64 bits).  This version allows the user access to larger
  31.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  32.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  33.      only one of the two versions; 4-byte integer and 8-byte integer library
  34.      calls cannot be mixed.
  35.  
  36. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  37.      SSPSV computes the solution to a real system of linear equations A * X =
  38.      B, where A is an N-by-N symmetric matrix stored in packed format and X
  39.      and B are N-by-NRHS matrices.
  40.  
  41.      The diagonal pivoting method is used to factor A as
  42.         A = U * D * U**T,  if UPLO = 'U', or
  43.         A = L * D * L**T,  if UPLO = 'L',
  44.      where U (or L) is a product of permutation and unit upper (lower)
  45.      triangular matrices, D is symmetric and block diagonal with 1-by-1 and
  46.      2-by-2 diagonal blocks.  The factored form of A is then used to solve the
  47.      system of equations A * X = B.
  48.  
  49.  
  50. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  51.      UPLO    (input) CHARACTER*1
  52.              = 'U':  Upper triangle of A is stored;
  53.              = 'L':  Lower triangle of A is stored.
  54.  
  55.      N       (input) INTEGER
  56.              The number of linear equations, i.e., the order of the matrix A.
  57.              N >= 0.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSSSSSPPPPSSSSVVVV((((3333SSSS))))                                                            SSSSSSSSPPPPSSSSVVVV((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      NRHS    (input) INTEGER
  75.              The number of right hand sides, i.e., the number of columns of
  76.              the matrix B.  NRHS >= 0.
  77.  
  78.      AP      (input/output) REAL array, dimension (N*(N+1)/2)
  79.              On entry, the upper or lower triangle of the symmetric matrix A,
  80.              packed columnwise in a linear array.  The j-th column of A is
  81.              stored in the array AP as follows:  if UPLO = 'U', AP(i + (j-
  82.              1)*j/2) = A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2n-
  83.              j)/2) = A(i,j) for j<=i<=n.  See below for further details.
  84.  
  85.              On exit, the block diagonal matrix D and the multipliers used to
  86.              obtain the factor U or L from the factorization A = U*D*U**T or A
  87.              = L*D*L**T as computed by SSPTRF, stored as a packed triangular
  88.              matrix in the same storage format as A.
  89.  
  90.      IPIV    (output) INTEGER array, dimension (N)
  91.              Details of the interchanges and the block structure of D, as
  92.              determined by SSPTRF.  If IPIV(k) > 0, then rows and columns k
  93.              and IPIV(k) were interchanged, and D(k,k) is a 1-by-1 diagonal
  94.              block.  If UPLO = 'U' and IPIV(k) = IPIV(k-1) < 0, then rows and
  95.              columns k-1 and -IPIV(k) were interchanged and D(k-1:k,k-1:k) is
  96.              a 2-by-2 diagonal block.  If UPLO = 'L' and IPIV(k) = IPIV(k+1) <
  97.              0, then rows and columns k+1 and -IPIV(k) were interchanged and
  98.              D(k:k+1,k:k+1) is a 2-by-2 diagonal block.
  99.  
  100.      B       (input/output) REAL array, dimension (LDB,NRHS)
  101.              On entry, the N-by-NRHS right hand side matrix B.  On exit, if
  102.              INFO = 0, the N-by-NRHS solution matrix X.
  103.  
  104.      LDB     (input) INTEGER
  105.              The leading dimension of the array B.  LDB >= max(1,N).
  106.  
  107.      INFO    (output) INTEGER
  108.              = 0:  successful exit
  109.              < 0:  if INFO = -i, the i-th argument had an illegal value
  110.              > 0:  if INFO = i, D(i,i) is exactly zero.  The factorization has
  111.              been completed, but the block diagonal matrix D is exactly
  112.              singular, so the solution could not be computed.
  113.  
  114. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  115.      The packed storage scheme is illustrated by the following example when N
  116.      = 4, UPLO = 'U':
  117.  
  118.      Two-dimensional storage of the symmetric matrix A:
  119.  
  120.         a11 a12 a13 a14
  121.             a22 a23 a24
  122.                 a33 a34     (aij = aji)
  123.                     a44
  124.  
  125.      Packed storage of the upper triangle of A:
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. SSSSSSSSPPPPSSSSVVVV((((3333SSSS))))                                                            SSSSSSSSPPPPSSSSVVVV((((3333SSSS))))
  137.  
  138.  
  139.  
  140.      AP = [ a11, a12, a22, a13, a23, a33, a14, a24, a34, a44 ]
  141.  
  142.  
  143. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  144.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  145.  
  146.      This man page is available only online.
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.